1.x 新版 web3js 对整体的代码做了拆分, web3 大部分功能都拆分出去了, 它只负责把其他模块加载进来…
string randomHex(length) 生成随机十六进制数
内置大数处理
const _ = web3.utils._; 内置 Underscore 库, 参考: http://underscorejs.org/
const BN = web3.utils.BN; 内置 BN.js 库, 参考: https://github.com/indutny/bn.js/
出于安全考虑建议使用 BN.toBN() 替代 BigNumber.js
bool isBN(mixed) 判断是否是 BN 对象
bool isBigNumber(mixed) 判断是否是 BigNumber 对象
BN toBN(number) 数字专户成 BN 对象
233… 可怜那些年手动加载的 BN.js 和 BigNumber.js ….
SHA3 计算 abi 参数, 计算 topics 什么的
string sha3(string) 等同于 keccak256(string) 算法
string soliditySha3(params,…) 模仿 Solidity 内部 ABI 算法, 内置隐含的类型转换
判断 Hex 类型
bool isHex(hex) 检查是否是 hex 字符串
bool isHexStrict(hex) 检查是否是以 0x 开头的 hex 字符串
string toHex(mixed) 转换成 hex 类型
判断 Address 类型
bool isAddress(hex) 检查是否是地址
string toChecksumAddress(address) 将地址转换成 checksum 标准
bool checkAddressChecksum(address) 判断地址是否是 checksum 标准
HEX 转化成各种类型
string hexToNumberString(hex)
number hexToNumber(hex)
string hexToUtf8(hex)
string hexToAscii(hex)
array hexToBytes(hex) hex string 则返回(包含零的)完整数组, hex 则返回非零数字的数组
各种类型转换成 HEX
string numberToHex(number)
string utf8ToHex(string)
string asciiToHex(string)
string bytesToHex(array) 0-255 的数字组成的数组
计算单位转换
number toWei(string|BN, ‘ether’) 将指定单位转换成 wei, 计算时应该用 wei, 仅在展示的时候使用其他的单位.
number fromWei(string|BN, ‘ether’) 将 wei 转换成指定的单位
unitMap 展示可用单位
字符串补全到指定长度
pedLeft(hex|string, length)
pedRight(hex|string, length)